<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>change_radial_distortion_image [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_calibration.html">Calibration</a> / <a href="toc_calibration_rectification.html">Rectification</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">change_radial_distortion_image</span><span data-if="c" style="display:none;">T_change_radial_distortion_image</span><span data-if="cpp" style="display:none;">ChangeRadialDistortionImage</span><span data-if="dotnet" style="display:none;">ChangeRadialDistortionImage</span><span data-if="python" style="display:none;">change_radial_distortion_image</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">change_radial_distortion_image</span><span data-if="c" style="display:none;">T_change_radial_distortion_image</span><span data-if="cpp" style="display:none;">ChangeRadialDistortionImage</span><span data-if="dotnet" style="display:none;">ChangeRadialDistortionImage</span><span data-if="python" style="display:none;">change_radial_distortion_image</span></code> — Change the radial distortion of an image.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>change_radial_distortion_image</b>(<a href="#Image"><i>Image</i></a>, <a href="#Region"><i>区域</i></a> : <a href="#ImageRectified"><i>ImageRectified</i></a> : <a href="#CamParamIn"><i>CamParamIn</i></a>, <a href="#CamParamOut"><i>CamParamOut</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_change_radial_distortion_image</b>(const Hobject <a href="#Image"><i>Image</i></a>, const Hobject <a href="#Region"><i>区域</i></a>, Hobject* <a href="#ImageRectified"><i>ImageRectified</i></a>, const Htuple <a href="#CamParamIn"><i>CamParamIn</i></a>, const Htuple <a href="#CamParamOut"><i>CamParamOut</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>ChangeRadialDistortionImage</b>(const HObject&amp; <a href="#Image"><i>Image</i></a>, const HObject&amp; <a href="#Region"><i>区域</i></a>, HObject* <a href="#ImageRectified"><i>ImageRectified</i></a>, const HTuple&amp; <a href="#CamParamIn"><i>CamParamIn</i></a>, const HTuple&amp; <a href="#CamParamOut"><i>CamParamOut</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>ChangeRadialDistortionImage</b>(const HRegion&amp; <a href="#Region"><i>区域</i></a>, const HCamPar&amp; <a href="#CamParamIn"><i>CamParamIn</i></a>, const HCamPar&amp; <a href="#CamParamOut"><i>CamParamOut</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HCamPar.html">HCamPar</a>::<b>ChangeRadialDistortionImage</b>(const HImage&amp; <a href="#Image"><i>Image</i></a>, const HRegion&amp; <a href="#Region"><i>区域</i></a>, const HCamPar&amp; <a href="#CamParamOut"><i>CamParamOut</i></a>) const</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>ChangeRadialDistortionImage</b>(<a href="HObject.html">HObject</a> <a href="#Image"><i>image</i></a>, <a href="HObject.html">HObject</a> <a href="#Region"><i>区域</i></a>, out <a href="HObject.html">HObject</a> <a href="#ImageRectified"><i>imageRectified</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CamParamIn"><i>camParamIn</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CamParamOut"><i>camParamOut</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>.<b>ChangeRadialDistortionImage</b>(<a href="HRegion.html">HRegion</a> <a href="#Region"><i>区域</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamIn"><i>camParamIn</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamOut"><i>camParamOut</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HCamPar.html">HCamPar</a>.<b>ChangeRadialDistortionImage</b>(<a href="HImage.html">HImage</a> <a href="#Image"><i>image</i></a>, <a href="HRegion.html">HRegion</a> <a href="#Region"><i>区域</i></a>, <a href="HCamPar.html">HCamPar</a> <a href="#CamParamOut"><i>camParamOut</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>change_radial_distortion_image</b>(<a href="#Image"><i>image</i></a>: HObject, <a href="#Region"><i>区域</i></a>: HObject, <a href="#CamParamIn"><i>cam_param_in</i></a>: Sequence[Union[int, float, str]], <a href="#CamParamOut"><i>cam_param_out</i></a>: Sequence[Union[int, float, str]]) -&gt; HObject</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">change_radial_distortion_image</span><span data-if="c" style="display:none">change_radial_distortion_image</span><span data-if="cpp" style="display:none">ChangeRadialDistortionImage</span><span data-if="com" style="display:none">ChangeRadialDistortionImage</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionImage</span><span data-if="python" style="display:none">change_radial_distortion_image</span></code> changes the radial distortion
of the input image <a href="#Image"><i><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></i></a> in accordance to the internal camera
parameters <a href="#CamParamIn"><i><code><span data-if="hdevelop" style="display:inline">CamParamIn</span><span data-if="c" style="display:none">CamParamIn</span><span data-if="cpp" style="display:none">CamParamIn</span><span data-if="com" style="display:none">CamParamIn</span><span data-if="dotnet" style="display:none">camParamIn</span><span data-if="python" style="display:none">cam_param_in</span></code></i></a> and <a href="#CamParamOut"><i><code><span data-if="hdevelop" style="display:inline">CamParamOut</span><span data-if="c" style="display:none">CamParamOut</span><span data-if="cpp" style="display:none">CamParamOut</span><span data-if="com" style="display:none">CamParamOut</span><span data-if="dotnet" style="display:none">camParamOut</span><span data-if="python" style="display:none">cam_param_out</span></code></i></a>. Each pixel of
the output image that lies within the region <a href="#Region"><i><code><span data-if="hdevelop" style="display:inline">区域</span><span data-if="c" style="display:none">区域</span><span data-if="cpp" style="display:none">区域</span><span data-if="com" style="display:none">区域</span><span data-if="dotnet" style="display:none">区域</span><span data-if="python" style="display:none">区域</span></code></i></a> is
transformed into the image plane using
<a href="#CamParamOut"><i><code><span data-if="hdevelop" style="display:inline">CamParamOut</span><span data-if="c" style="display:none">CamParamOut</span><span data-if="cpp" style="display:none">CamParamOut</span><span data-if="com" style="display:none">CamParamOut</span><span data-if="dotnet" style="display:none">camParamOut</span><span data-if="python" style="display:none">cam_param_out</span></code></i></a> and subsequently projected into a subpixel of
<a href="#Image"><i><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></i></a> using <a href="#CamParamIn"><i><code><span data-if="hdevelop" style="display:inline">CamParamIn</span><span data-if="c" style="display:none">CamParamIn</span><span data-if="cpp" style="display:none">CamParamIn</span><span data-if="com" style="display:none">CamParamIn</span><span data-if="dotnet" style="display:none">camParamIn</span><span data-if="python" style="display:none">cam_param_in</span></code></i></a>.
The resulting gray value is determined by
bilinear interpolation. If the subpixel is outside of <a href="#Image"><i><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></i></a>,
the corresponding pixel in <a href="#ImageRectified"><i><code><span data-if="hdevelop" style="display:inline">ImageRectified</span><span data-if="c" style="display:none">ImageRectified</span><span data-if="cpp" style="display:none">ImageRectified</span><span data-if="com" style="display:none">ImageRectified</span><span data-if="dotnet" style="display:none">imageRectified</span><span data-if="python" style="display:none">image_rectified</span></code></i></a> is set to 'black'
and eliminated from the image domain.
</p>
<p>If the gray values of all pixels in the output image shall be
calculated, it is sufficient to pass an empty object in
<a href="#Region"><i><code><span data-if="hdevelop" style="display:inline">区域</span><span data-if="c" style="display:none">区域</span><span data-if="cpp" style="display:none">区域</span><span data-if="com" style="display:none">区域</span><span data-if="dotnet" style="display:none">区域</span><span data-if="python" style="display:none">区域</span></code></i></a> (which must be previously generated by, for example,
using <a href="gen_empty_obj.html"><code><span data-if="hdevelop" style="display:inline">gen_empty_obj</span><span data-if="c" style="display:none">gen_empty_obj</span><span data-if="cpp" style="display:none">GenEmptyObj</span><span data-if="com" style="display:none">GenEmptyObj</span><span data-if="dotnet" style="display:none">GenEmptyObj</span><span data-if="python" style="display:none">gen_empty_obj</span></code></a>). This is especially useful if the size
of the output image differs from the size of the input image, and
hence, it is not possible to simply pass the region of the input
image in <a href="#Region"><i><code><span data-if="hdevelop" style="display:inline">区域</span><span data-if="c" style="display:none">区域</span><span data-if="cpp" style="display:none">区域</span><span data-if="com" style="display:none">区域</span><span data-if="dotnet" style="display:none">区域</span><span data-if="python" style="display:none">区域</span></code></i></a>.
</p>
<p>If <a href="#CamParamOut"><i><code><span data-if="hdevelop" style="display:inline">CamParamOut</span><span data-if="c" style="display:none">CamParamOut</span><span data-if="cpp" style="display:none">CamParamOut</span><span data-if="com" style="display:none">CamParamOut</span><span data-if="dotnet" style="display:none">camParamOut</span><span data-if="python" style="display:none">cam_param_out</span></code></i></a> was computed via
<a href="change_radial_distortion_cam_par.html"><code><span data-if="hdevelop" style="display:inline">change_radial_distortion_cam_par</span><span data-if="c" style="display:none">change_radial_distortion_cam_par</span><span data-if="cpp" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="com" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="python" style="display:none">change_radial_distortion_cam_par</span></code></a>, <a href="#ImageRectified"><i><code><span data-if="hdevelop" style="display:inline">ImageRectified</span><span data-if="c" style="display:none">ImageRectified</span><span data-if="cpp" style="display:none">ImageRectified</span><span data-if="com" style="display:none">ImageRectified</span><span data-if="dotnet" style="display:none">imageRectified</span><span data-if="python" style="display:none">image_rectified</span></code></i></a>
is equivalent to <a href="#Image"><i><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></i></a> obtained with a lens with a modified
radial distortion. If <span title="1" style="vertical-align:-0.0710211em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1.76003em" height="0.767042em" viewBox="0 0 28.160431 12.272675">
<!-- Original BoundingBox: -14.080215 -6.136337 14.080215 6.136337 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_20">
      <path style="fill-rule: evenodd;" d="M59.000000 -39.000000C55.000000 -25.000000,55.000000 -23.000000,55.000000 -16.000000C55.000000 2.000000,69.000000 11.000000,84.000000 11.000000C114.000000 11.000000,120.000000 -13.000000,128.000000 -45.000000C138.000000 -81.000000,132.000000 -62.000000,175.000000 -230.000000C259.000000 -227.000000,346.000000 -210.000000,346.000000 -145.000000C346.000000 -138.000000,346.000000 -133.000000,344.000000 -123.000000C340.000000 -107.000000,339.000000 -96.000000,339.000000 -88.000000C339.000000 -29.000000,379.000000 11.000000,431.000000 11.000000C463.000000 11.000000,489.000000 -7.000000,509.000000 -41.000000C534.000000 -83.000000,546.000000 -141.000000,546.000000 -143.000000C546.000000 -153.000000,537.000000 -153.000000,534.000000 -153.000000C524.000000 -153.000000,523.000000 -149.000000,520.000000 -135.000000C501.000000 -66.000000,478.000000 -11.000000,433.000000 -11.000000C412.000000 -11.000000,401.000000 -24.000000,401.000000 -59.000000C401.000000 -74.000000,405.000000 -98.000000,409.000000 -115.000000C411.000000 -124.000000,414.000000 -137.000000,414.000000 -148.000000C414.000000 -242.000000,276.000000 -249.000000,220.000000 -251.000000C253.000000 -269.000000,285.000000 -296.000000,312.000000 -319.000000C358.000000 -358.000000,387.000000 -382.000000,427.000000 -399.000000C425.000000 -394.000000,422.000000 -382.000000,422.000000 -377.000000C422.000000 -365.000000,429.000000 -342.000000,460.000000 -342.000000C492.000000 -342.000000,514.000000 -371.000000,514.000000 -396.000000C514.000000 -405.000000,510.000000 -431.000000,474.000000 -431.000000C413.000000 -431.000000,354.000000 -381.000000,310.000000 -344.000000C242.000000 -286.000000,218.000000 -271.000000,182.000000 -259.000000C185.000000 -270.000000,197.000000 -320.000000,202.000000 -337.000000C208.000000 -363.000000,220.000000 -410.000000,220.000000 -415.000000C220.000000 -432.000000,208.000000 -442.000000,191.000000 -442.000000C188.000000 -442.000000,160.000000 -442.000000,151.000000 -406.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_61">
      <path style="fill-rule: evenodd;" d="M534.000000 -386.000000L30.000000 -386.000000L30.000000 -320.000000L534.000000 -320.000000M534.000000 -186.000000L30.000000 -186.000000L30.000000 -120.000000L534.000000 -120.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.935776 11.136337)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_20"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,10.119827 11.136337)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_61"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,19.109940 11.136337)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
</svg></span> the image
is rectified. A subsequent pose estimation (determination of the
external camera parameters) is not affected by this operation.
</p>
<p>Please note that <code><span data-if="hdevelop" style="display:inline">change_radial_distortion_image</span><span data-if="c" style="display:none">change_radial_distortion_image</span><span data-if="cpp" style="display:none">ChangeRadialDistortionImage</span><span data-if="com" style="display:none">ChangeRadialDistortionImage</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionImage</span><span data-if="python" style="display:none">change_radial_distortion_image</span></code> does not
work for line scan cameras with perspective lenses. Instead, you
might want to use <a href="image_to_world_plane.html"><code><span data-if="hdevelop" style="display:inline">image_to_world_plane</span><span data-if="c" style="display:none">image_to_world_plane</span><span data-if="cpp" style="display:none">ImageToWorldPlane</span><span data-if="com" style="display:none">ImageToWorldPlane</span><span data-if="dotnet" style="display:none">ImageToWorldPlane</span><span data-if="python" style="display:none">image_to_world_plane</span></code></a>.</p>
<h2 id="sec_attention">注意</h2>
<p><code><span data-if="hdevelop" style="display:inline">change_radial_distortion_image</span><span data-if="c" style="display:none">change_radial_distortion_image</span><span data-if="cpp" style="display:none">ChangeRadialDistortionImage</span><span data-if="com" style="display:none">ChangeRadialDistortionImage</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionImage</span><span data-if="python" style="display:none">change_radial_distortion_image</span></code> can be executed on OpenCL devices if
the input image does not exceed the maximum size of image objects of the
selected device. As the OpenCL implementation uses single precision
arithmetic, the results can differ from the CPU implementation.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
    
      <li>支持OpenCL计算设备。</li>
    
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>在图像通道级别自动并行化。</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Image" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></b> (input_object)  </span><span>(multichannel-)image(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject</span> (byte / uint2 / real)</span>
</div>
<p class="pardesc">Original image.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Region" class="parname"><b><code><span data-if="hdevelop" style="display:inline">区域</span><span data-if="c" style="display:none">区域</span><span data-if="cpp" style="display:none">区域</span><span data-if="com" style="display:none">区域</span><span data-if="dotnet" style="display:none">区域</span><span data-if="python" style="display:none">区域</span></code></b> (input_object)  </span><span>region <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HRegion.html">HRegion</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HRegion.html">HRegion</a></span><span data-if="c" style="display:none">Hobject</span></span>
</div>
<p class="pardesc">Region of interest in <a href="#ImageRectified"><i><code><span data-if="hdevelop" style="display:inline">ImageRectified</span><span data-if="c" style="display:none">ImageRectified</span><span data-if="cpp" style="display:none">ImageRectified</span><span data-if="com" style="display:none">ImageRectified</span><span data-if="dotnet" style="display:none">imageRectified</span><span data-if="python" style="display:none">image_rectified</span></code></i></a>.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ImageRectified" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ImageRectified</span><span data-if="c" style="display:none">ImageRectified</span><span data-if="cpp" style="display:none">ImageRectified</span><span data-if="com" style="display:none">ImageRectified</span><span data-if="dotnet" style="display:none">imageRectified</span><span data-if="python" style="display:none">image_rectified</span></code></b> (output_object)  </span><span>(multichannel-)image(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject *</span> (byte / uint2 / real)</span>
</div>
<p class="pardesc">Resulting image with modified radial distortion.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CamParamIn" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CamParamIn</span><span data-if="c" style="display:none">CamParamIn</span><span data-if="cpp" style="display:none">CamParamIn</span><span data-if="com" style="display:none">CamParamIn</span><span data-if="dotnet" style="display:none">camParamIn</span><span data-if="python" style="display:none">cam_param_in</span></code></b> (input_control)  </span><span>campar <code>→</code> <span data-if="dotnet" style="display:none"><a href="HCamPar.html">HCamPar</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, float, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">Internal camera parameter for <a href="#Image"><i><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></i></a>.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CamParamOut" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CamParamOut</span><span data-if="c" style="display:none">CamParamOut</span><span data-if="cpp" style="display:none">CamParamOut</span><span data-if="com" style="display:none">CamParamOut</span><span data-if="dotnet" style="display:none">camParamOut</span><span data-if="python" style="display:none">cam_param_out</span></code></b> (input_control)  </span><span>campar <code>→</code> <span data-if="dotnet" style="display:none"><a href="HCamPar.html">HCamPar</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, float, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">Internal camera parameter for <a href="#Image"><i><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></i></a>.</p>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">change_radial_distortion_image</span><span data-if="c" style="display:none">change_radial_distortion_image</span><span data-if="cpp" style="display:none">ChangeRadialDistortionImage</span><span data-if="com" style="display:none">ChangeRadialDistortionImage</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionImage</span><span data-if="python" style="display:none">change_radial_distortion_image</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameter
values are correct. If the input is empty (no input image is
available) the behavior can be set via
<a href="set_system.html"><code><span data-if="hdevelop" style="display:inline">set_system('no_object_result',&lt;Result&gt;)</span><span data-if="c" style="display:none">set_system("no_object_result",&lt;Result&gt;)</span><span data-if="cpp" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="com" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="dotnet" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="python" style="display:none">set_system("no_object_result",&lt;Result&gt;)</span></code></a>.  If necessary, an
exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="change_radial_distortion_cam_par.html"><span data-if="hdevelop" style="display:inline">change_radial_distortion_cam_par</span><span data-if="c" style="display:none">change_radial_distortion_cam_par</span><span data-if="cpp" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="com" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="python" style="display:none">change_radial_distortion_cam_par</span></a></code>, 
<code><a href="read_image.html"><span data-if="hdevelop" style="display:inline">read_image</span><span data-if="c" style="display:none">read_image</span><span data-if="cpp" style="display:none">ReadImage</span><span data-if="com" style="display:none">ReadImage</span><span data-if="dotnet" style="display:none">ReadImage</span><span data-if="python" style="display:none">read_image</span></a></code>, 
<code><a href="grab_image.html"><span data-if="hdevelop" style="display:inline">grab_image</span><span data-if="c" style="display:none">grab_image</span><span data-if="cpp" style="display:none">GrabImage</span><span data-if="com" style="display:none">GrabImage</span><span data-if="dotnet" style="display:none">GrabImage</span><span data-if="python" style="display:none">grab_image</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="edges_image.html"><span data-if="hdevelop" style="display:inline">edges_image</span><span data-if="c" style="display:none">edges_image</span><span data-if="cpp" style="display:none">EdgesImage</span><span data-if="com" style="display:none">EdgesImage</span><span data-if="dotnet" style="display:none">EdgesImage</span><span data-if="python" style="display:none">edges_image</span></a></code>, 
<code><a href="threshold.html"><span data-if="hdevelop" style="display:inline">threshold</span><span data-if="c" style="display:none">threshold</span><span data-if="cpp" style="display:none">Threshold</span><span data-if="com" style="display:none">Threshold</span><span data-if="dotnet" style="display:none">Threshold</span><span data-if="python" style="display:none">threshold</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="change_radial_distortion_cam_par.html"><span data-if="hdevelop" style="display:inline">change_radial_distortion_cam_par</span><span data-if="c" style="display:none">change_radial_distortion_cam_par</span><span data-if="cpp" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="com" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionCamPar</span><span data-if="python" style="display:none">change_radial_distortion_cam_par</span></a></code>, 
<code><a href="camera_calibration.html"><span data-if="hdevelop" style="display:inline">camera_calibration</span><span data-if="c" style="display:none">camera_calibration</span><span data-if="cpp" style="display:none">CameraCalibration</span><span data-if="com" style="display:none">CameraCalibration</span><span data-if="dotnet" style="display:none">CameraCalibration</span><span data-if="python" style="display:none">camera_calibration</span></a></code>, 
<code><a href="read_cam_par.html"><span data-if="hdevelop" style="display:inline">read_cam_par</span><span data-if="c" style="display:none">read_cam_par</span><span data-if="cpp" style="display:none">ReadCamPar</span><span data-if="com" style="display:none">ReadCamPar</span><span data-if="dotnet" style="display:none">ReadCamPar</span><span data-if="python" style="display:none">read_cam_par</span></a></code>, 
<code><a href="change_radial_distortion_contours_xld.html"><span data-if="hdevelop" style="display:inline">change_radial_distortion_contours_xld</span><span data-if="c" style="display:none">change_radial_distortion_contours_xld</span><span data-if="cpp" style="display:none">ChangeRadialDistortionContoursXld</span><span data-if="com" style="display:none">ChangeRadialDistortionContoursXld</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionContoursXld</span><span data-if="python" style="display:none">change_radial_distortion_contours_xld</span></a></code>, 
<code><a href="change_radial_distortion_points.html"><span data-if="hdevelop" style="display:inline">change_radial_distortion_points</span><span data-if="c" style="display:none">change_radial_distortion_points</span><span data-if="cpp" style="display:none">ChangeRadialDistortionPoints</span><span data-if="com" style="display:none">ChangeRadialDistortionPoints</span><span data-if="dotnet" style="display:none">ChangeRadialDistortionPoints</span><span data-if="python" style="display:none">change_radial_distortion_points</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Calibration</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
